<html>
<head><meta charset="utf-8"><title>events as exported by measureme · t-compiler/wg-self-profile · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/index.html">t-compiler/wg-self-profile</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html">events as exported by measureme</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="160212435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212435">(Mar 07 2019 at 16:20)</a>:</h4>
<p>so, we like to discuss how events should be presented to post processing by the measureme crate</p>



<a name="160212538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212538">(Mar 07 2019 at 16:21)</a>:</h4>
<p>i.e. that is the format that analysis happens on</p>



<a name="160212613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212613">(Mar 07 2019 at 16:22)</a>:</h4>
<p>in this form one should not have to deal with the low-level encoding of the raw format as produced by the compiler</p>



<a name="160212616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212616">(Mar 07 2019 at 16:22)</a>:</h4>
<p>Seems like there's maybe a efficient, low-level format that's used for serialization and a higher-level "nicer" event format that can be used for analysis</p>



<a name="160212619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212619">(Mar 07 2019 at 16:22)</a>:</h4>
<p>Yes</p>



<a name="160212626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212626">(Mar 07 2019 at 16:22)</a>:</h4>
<p>yes, exactly</p>



<a name="160212660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212660">(Mar 07 2019 at 16:22)</a>:</h4>
<p>I see (at least) two ways of doing this</p>



<a name="160212691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212691">(Mar 07 2019 at 16:23)</a>:</h4>
<p>1. define a <code>struct Event</code> with the appropriate fields</p>



<a name="160212737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212737">(Mar 07 2019 at 16:23)</a>:</h4>
<p>2. define a callback interface like: <code>iter_events(f: Fn(event_name, thread_id, time_stamp, ...))</code></p>



<a name="160212823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212823">(Mar 07 2019 at 16:24)</a>:</h4>
<p>the struct might be more flexible?</p>



<a name="160212847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212847">(Mar 07 2019 at 16:25)</a>:</h4>
<p>You could also have a <code>struct Event</code> with the raw fields and serialization data and then an <code>enum Event</code> which is basically what we have now in the compiler</p>



<a name="160212865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212865">(Mar 07 2019 at 16:25)</a>:</h4>
<p>anyway, for both approaches we have to define the "fields"...</p>



<a name="160212889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212889">(Mar 07 2019 at 16:25)</a>:</h4>
<p>Then provide an function to get an <code>Iterator&lt;Item=enum Event&gt;</code> over the raw struct data</p>



<a name="160212971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212971">(Mar 07 2019 at 16:26)</a>:</h4>
<p>I kind of like this: <a href="https://github.com/rust-lang/rust/issues/58372#issuecomment-468238097" target="_blank" title="https://github.com/rust-lang/rust/issues/58372#issuecomment-468238097">https://github.com/rust-lang/rust/issues/58372#issuecomment-468238097</a></p>



<a name="160212993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160212993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160212993">(Mar 07 2019 at 16:26)</a>:</h4>
<p>except <code>event_id</code> would be a string version</p>



<a name="160213001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213001">(Mar 07 2019 at 16:27)</a>:</h4>
<p>of the query key + args</p>



<a name="160213052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213052">(Mar 07 2019 at 16:27)</a>:</h4>
<p>Like actually a <code>str</code> or a string id into the StringTable?</p>



<a name="160213126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213126">(Mar 07 2019 at 16:28)</a>:</h4>
<p>something that can be converted to a <code>&amp;str</code></p>



<a name="160213127"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213127" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213127">(Mar 07 2019 at 16:28)</a>:</h4>
<p>Oh I see</p>



<a name="160213137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213137">(Mar 07 2019 at 16:28)</a>:</h4>
<p>Next bullet point :)</p>



<a name="160213268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213268">(Mar 07 2019 at 16:29)</a>:</h4>
<p>also, maybe other things like event_kind should be a string too?</p>



<a name="160213283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213283">(Mar 07 2019 at 16:29)</a>:</h4>
<p>in order to be able to add new kinds later?</p>



<a name="160213339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213339">(Mar 07 2019 at 16:30)</a>:</h4>
<p>I'm not sure if that would be necessary</p>



<a name="160213383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213383">(Mar 07 2019 at 16:30)</a>:</h4>
<p>I think we may want to have a <code>label</code> field on every event</p>



<a name="160213429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213429">(Mar 07 2019 at 16:31)</a>:</h4>
<p>which would contain what information?</p>



<a name="160213444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213444">(Mar 07 2019 at 16:31)</a>:</h4>
<p>the query + key?</p>



<a name="160213459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213459">(Mar 07 2019 at 16:31)</a>:</h4>
<p>Queries - query name<br>
"generic activity" - some kind of associated data</p>



<a name="160213492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213492">(Mar 07 2019 at 16:31)</a>:</h4>
<p>just the name or also the key/args?</p>



<a name="160213576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213576">(Mar 07 2019 at 16:32)</a>:</h4>
<p>I know we can get at the query name from the event data but I think it's important semantically to have this so that the tool doesn't have to have super deep knowledge of rustc to interpret the results</p>



<a name="160213607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213607">(Mar 07 2019 at 16:32)</a>:</h4>
<p>For the summarization tool, the label is the thing we'd aggregate on</p>



<a name="160213649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213649">(Mar 07 2019 at 16:33)</a>:</h4>
<p>ok, so there would be the <code>label</code> and a separate field for the arguments?</p>



<a name="160213670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213670">(Mar 07 2019 at 16:33)</a>:</h4>
<p>Yeah</p>



<a name="160213675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213675">(Mar 07 2019 at 16:33)</a>:</h4>
<p>ok, sounds good</p>



<a name="160213795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213795">(Mar 07 2019 at 16:34)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="k">struct</span> <span class="nc">ProfilerEvent</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">  </span><span class="n">event_kind</span>: <span class="nc">EventKind</span><span class="p">,</span><span class="w"> </span><span class="c1">// u8 - query-provider, query-cache-hit, generic-event, incr-comp-cache-loading ...</span>
<span class="w">  </span><span class="n">timestamp_kind</span>: <span class="kt">u8</span><span class="p">,</span><span class="w"> </span><span class="c1">// start, stop, instant</span>
<span class="w">  </span><span class="n">timestamp</span>: <span class="kt">u64</span><span class="p">,</span><span class="w"> </span><span class="c1">// nanoseconds since profiler was created</span>
<span class="w">  </span><span class="n">label</span>: <span class="nc">StringTableId</span><span class="p">,</span><span class="w"></span>
<span class="w">  </span><span class="n">additional_data</span>: <span class="p">[</span><span class="n">StringTableId</span><span class="p">]</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="160213826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213826">(Mar 07 2019 at 16:35)</a>:</h4>
<p>I guess you were saying <code>event_id</code> is also a <code>StringTableId</code>?</p>



<a name="160213848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213848">(Mar 07 2019 at 16:35)</a>:</h4>
<p>I think <code>event_id</code> would go away</p>



<a name="160213858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213858">(Mar 07 2019 at 16:35)</a>:</h4>
<p>because it's replaced by the <code>label</code></p>



<a name="160213870"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213870" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213870">(Mar 07 2019 at 16:35)</a>:</h4>
<p>plus an additional list of arguments</p>



<a name="160213921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213921">(Mar 07 2019 at 16:36)</a>:</h4>
<p>Ok yes</p>



<a name="160213944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160213944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160213944">(Mar 07 2019 at 16:36)</a>:</h4>
<p><code>measureme</code> would take care of decoding the <code>event_id</code> string into <code>label</code> and args</p>



<a name="160214038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214038">(Mar 07 2019 at 16:37)</a>:</h4>
<p>Oh ok</p>



<a name="160214041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214041">(Mar 07 2019 at 16:37)</a>:</h4>
<p>and I don't think it would be a <code>StringTableId</code> because there might not be a single string table entry for the label</p>



<a name="160214065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214065">(Mar 07 2019 at 16:37)</a>:</h4>
<p>although in practice there probably would be</p>



<a name="160214090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214090">(Mar 07 2019 at 16:37)</a>:</h4>
<p>So this is the on-disk binary format:</p>
<div class="codehilite"><pre><span></span><span class="k">struct</span> <span class="nc">ProfilerEvent</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">  </span><span class="n">event_kind</span>: <span class="nc">EventKind</span><span class="p">,</span><span class="w"> </span><span class="c1">// u8 - query-provider, query-cache-hit, generic-event, incr-comp-cache-loading ...</span>
<span class="w">  </span><span class="n">event_id</span>: <span class="kt">u32</span><span class="p">,</span><span class="w"> </span><span class="c1">// ~ (query-kind, query-key) or (function-name, arguments)</span>
<span class="w">  </span><span class="n">timestamp_kind</span>: <span class="kt">u8</span><span class="p">,</span><span class="w"> </span><span class="c1">// start, stop, instant</span>
<span class="w">  </span><span class="n">timestamp</span>: <span class="kt">u64</span> <span class="c1">// nanoseconds since profiler was created</span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="160214147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214147">(Mar 07 2019 at 16:38)</a>:</h4>
<p>yes</p>



<a name="160214228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214228">(Mar 07 2019 at 16:39)</a>:</h4>
<p>But conceptually, its something like:</p>
<div class="codehilite"><pre><span></span><span class="k">struct</span> <span class="nc">Event</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">  </span><span class="n">event_kind</span>: <span class="kp">&amp;</span><span class="kt">str</span><span class="p">,</span><span class="w"></span>
<span class="w">  </span><span class="n">label</span>: <span class="kp">&amp;</span><span class="kt">str</span><span class="p">,</span><span class="w"></span>
<span class="w">  </span><span class="n">additional_data</span>: <span class="kp">&amp;</span><span class="p">[</span><span class="kt">str</span><span class="p">]</span><span class="w"></span>
<span class="w">  </span><span class="n">timestamp</span>: <span class="nc">Instant</span><span class="p">,</span><span class="w"></span>
<span class="w">  </span><span class="n">event_kind</span>: <span class="p">(</span><span class="n">Start</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Stop</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Instant</span><span class="p">)</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="160214252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214252">(Mar 07 2019 at 16:39)</a>:</h4>
<p>yes</p>



<a name="160214265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214265">(Mar 07 2019 at 16:39)</a>:</h4>
<p>Got it</p>



<a name="160214270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214270">(Mar 07 2019 at 16:39)</a>:</h4>
<p>I really like that</p>



<a name="160214315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214315">(Mar 07 2019 at 16:40)</a>:</h4>
<p>The profiling tools don't really have to know anything about rustc then. And eventually they can be generalized for salsa or whatever</p>



<a name="160214413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214413">(Mar 07 2019 at 16:40)</a>:</h4>
<p>Instead of <code>&amp;str</code> it would probably be something else with a <code>fn as_str() -&gt; Cow&lt;str&gt;</code> method</p>



<a name="160214432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214432">(Mar 07 2019 at 16:40)</a>:</h4>
<p>Ok</p>



<a name="160214446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214446">(Mar 07 2019 at 16:40)</a>:</h4>
<p>then we can do something more efficient in some cases maybe</p>



<a name="160214485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214485">(Mar 07 2019 at 16:41)</a>:</h4>
<p>but that's only a superficial difference</p>



<a name="160214488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214488">(Mar 07 2019 at 16:41)</a>:</h4>
<p>Makes sense</p>



<a name="160214535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214535">(Mar 07 2019 at 16:41)</a>:</h4>
<p>I wonder if <code>event_kind</code> should be a string or an enum</p>



<a name="160214548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214548">(Mar 07 2019 at 16:42)</a>:</h4>
<p>string is more flexible</p>



<a name="160214600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214600">(Mar 07 2019 at 16:42)</a>:</h4>
<p>Yeah, string makes more sense to me</p>



<a name="160214613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214613">(Mar 07 2019 at 16:42)</a>:</h4>
<p>alright, let's do that then</p>



<a name="160214639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214639">(Mar 07 2019 at 16:42)</a>:</h4>
<p>Then we don't have to go add a bunch of code to the tools when we add new events</p>



<a name="160214654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214654">(Mar 07 2019 at 16:43)</a>:</h4>
<p>yes</p>



<a name="160214687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214687">(Mar 07 2019 at 16:43)</a>:</h4>
<p>When I added the events for parallel query blocking, I thought it might be nice to have some kind of way to indicate semantically that the event is measuring something "bad"</p>



<a name="160214699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214699">(Mar 07 2019 at 16:43)</a>:</h4>
<p>ie "overhead"</p>



<a name="160214716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214716">(Mar 07 2019 at 16:43)</a>:</h4>
<p>The tools could then do things with that data as appropriate</p>



<a name="160214792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214792">(Mar 07 2019 at 16:44)</a>:</h4>
<p>yeah, but that's probably a categorization that should be done during postprocessing</p>



<a name="160214798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214798">(Mar 07 2019 at 16:44)</a>:</h4>
<p>The summarization tool could count up all of time spent in the overhead events and report that as an piece of data</p>



<a name="160214838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214838">(Mar 07 2019 at 16:44)</a>:</h4>
<p>Yeah, we could do it that way.</p>



<a name="160214888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214888">(Mar 07 2019 at 16:45)</a>:</h4>
<p><code>thread_id</code> is another field we'll need</p>



<a name="160214945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160214945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160214945">(Mar 07 2019 at 16:45)</a>:</h4>
<p>Yeah</p>



<a name="160215045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215045">(Mar 07 2019 at 16:46)</a>:</h4>
<p>That's just a <code>u64</code> or even a <code>u16</code> or something if we want to save the space</p>



<a name="160215057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215057">(Mar 07 2019 at 16:46)</a>:</h4>
<p>so, <code>measureme</code> would then provide something like a <code>ProfileData</code> struct</p>



<a name="160215100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215100">(Mar 07 2019 at 16:47)</a>:</h4>
<p>that has a <code>fn events() -&gt; impl Iterator&lt;Item=Event&gt;</code> method ...</p>



<a name="160215218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215218">(Mar 07 2019 at 16:47)</a>:</h4>
<p>yeah, thread_id could be an integer</p>



<a name="160215227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215227">(Mar 07 2019 at 16:47)</a>:</h4>
<p>u64 seems fine</p>



<a name="160215314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215314">(Mar 07 2019 at 16:48)</a>:</h4>
<p>ok, I like that so far</p>



<a name="160215330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215330">(Mar 07 2019 at 16:48)</a>:</h4>
<p>That all seems great to me</p>



<a name="160215343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215343">(Mar 07 2019 at 16:48)</a>:</h4>
<p>I've got to run in a few minutes</p>



<a name="160215369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215369">(Mar 07 2019 at 16:48)</a>:</h4>
<p>I think this is plenty for me to get started though :)</p>



<a name="160215381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215381">(Mar 07 2019 at 16:48)</a>:</h4>
<p>ok, great</p>



<a name="160215407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215407">(Mar 07 2019 at 16:48)</a>:</h4>
<p>(not to cut you off if you have more you want to talk about)</p>



<a name="160215430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215430">(Mar 07 2019 at 16:49)</a>:</h4>
<p>hopefully we can actually create the measureme GH repo soon :)</p>



<a name="160215484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215484">(Mar 07 2019 at 16:49)</a>:</h4>
<p>Yeah</p>



<a name="160215549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215549">(Mar 07 2019 at 16:50)</a>:</h4>
<p>I think I'm good for now</p>



<a name="160215550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215550">(Mar 07 2019 at 16:50)</a>:</h4>
<p>It looks like there's still some process discussions?</p>



<a name="160215564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215564">(Mar 07 2019 at 16:50)</a>:</h4>
<p>yeah</p>



<a name="160215628"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215628" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215628">(Mar 07 2019 at 16:51)</a>:</h4>
<p>Ok. Well have a great three-day weekend! <span aria-label="smile" class="emoji emoji-263a" role="img" title="smile">:smile:</span></p>



<a name="160215638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215638">(Mar 07 2019 at 16:51)</a>:</h4>
<p>thanks!</p>



<a name="160215651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187831-t-compiler/wg-self-profile/topic/events%20as%20exported%20by%20measureme/near/160215651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187831-t-compiler/wg-self-profile/topic/events.20as.20exported.20by.20measureme.html#160215651">(Mar 07 2019 at 16:51)</a>:</h4>
<p>have a great weekend too!</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>